package onjava.advance.ch02.sec01;

/**
 * 引用别名，导致的问题主要发生在有人对对象进行读写操作时。
 * 如果该对象的其他引用的持有者并不希望对象发生变更，那么结果将使其大感意外。
 * - 解决方案：不要这么做；
 * - 在同一个作用域内，对一个对象使用一个引用别名
 */
public class Alias1 {
    private int i;
    public Alias1(int ii) {
        i = ii;
    }

    public static void main(String[] args) {
        Alias1 x = new Alias1(7);
        Alias1 y = x;
        System.out.println("x: " + x.i);
        System.out.println("y: " + y.i);
        System.out.println("Incrementing x");
        x.i++;
        System.out.println("x: " + x.i);
        System.out.println("y: " + y.i);
    }
}
